#pragma once
#include "interfaces.h"

class EventData_NewActorComponent : public IEventData
{
public:
	EventData_NewActorComponent(ActorComponentPtr cmp) : m_Component(cmp) {}
	~EventData_NewActorComponent() {}

	//ActorId m_id; not needed. the component is keeping ownder ptr, where the id is stored.
	ActorComponentPtr m_Component;

	virtual const EventType VGetEventType();
	static const EventType m_EventType;
};
class EventData_ActorComponentModified : public IEventData
{
public:
	EventData_ActorComponentModified(IActorComponent * cmp) : m_pcomponent(cmp) {}
	~EventData_ActorComponentModified() {}

	IActorComponent * m_pcomponent;

	virtual const EventType VGetEventType();
	static const EventType m_EventType;
};
class EventData_ActorComponentDestroyed : public IEventData
{
public:
	EventData_ActorComponentDestroyed() {}
	~EventData_ActorComponentDestroyed() {}

	virtual const EventType VGetEventType();
	static const EventType m_EventType;
};
